package com.one.common.manager.imagchoose;

import android.app.Activity;
import android.content.Context;
import android.net.Uri;

import com.imnjh.imagepicker.activity.CropImageActivity;
import com.imnjh.imagepicker.activity.PhotoPickerActivity;
import com.imnjh.imagepicker.activity.PickerPreviewActivity;

import java.util.ArrayList;

/**
 * Author：zhulunjun
 * Time：2017/10/9
 * description：图片选择接口
 */

public interface IChooseImg {

    String AVATAR_FILE_NAME = "avatar.png"; // 单选时，剪切图的名称
    int REQUEST_CODE_AVATAR = 100; // 单选code
    int REQUEST_CODE_IMAGE = 101; // 多选code
    int REQUEST_CODE_CROP_IMAGE = PhotoPickerActivity.REQUEST_CODE_CROP_IMAGE; // 剪切图片
    String EXTRA_RESULT_SELECTION = PhotoPickerActivity.EXTRA_RESULT_SELECTION; // 多选图片，或者选择单张图片 返回的数据key
    String RESULT_PATH = CropImageActivity.RESULT_PATH; // 拍照 返回的数据key

    int ROW_COUNT = 3; //单行显示的图片个数

    /**
     * 单选
     * 选择头像
     * @param context 页面对象
     */
    void chooseSingle(Context context);
    /**
     * 多选
     * @param context 页面对象
     * @param multi 最大选择个数
     */
    void chooseMultiple(Context context, int multi);

    /**
     * 多选
     * @param context 页面对象
     * @param multi 最大选择个数
     * @param selects 已选择的
     */
    void chooseMultiple(Context context, int multi, ArrayList<String> selects);

    /**
     * 拍照
     * * @param context 页面对象
     */
    void photograph(Context context);

    /**
     * 拍照 并且 剪切图片
     * * @param context 页面对象
     */
    void photographWithCrop(Context context);

    /**
     * 剪切图片
     * @param context 页面对象
     * @param path 图片地址，需要剪切的
     */
    void cropPicture(Context context, String path);

}
